////https://www.luogu.com.cn/problem/P5662
//
//#include<iostream>
//#include<cstring>
//using namespace std;
//
//const int N = 110, M = 1e4 + 10;
//int t, n, m;
//int dp[M];
//int p[N][N];
//
//int main()
//{
//	cin >> t >> n >> m;
//	for (int i = 1; i <= t; i++)
//		for (int j = 1; j <= n; j++)
//			cin >> p[i][j];
//	for (int k = 1; k < t; k++)
//	{
//		memset(dp, 0, sizeof dp);
//		for (int i = 1; i <= n; i++)
//			for (int j = p[k][i]; j <= m; j++)
//				dp[j] = max(dp[j], dp[j - p[k][i]] + p[k + 1][i] - p[k][i]);
//		m += dp[m];
//	}
//	cout << m << endl;
//	return 0;
//}